package com.qfjy.controller.example1;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @ClassName AccountController
 * @Description TODO 发工资后，会通过邮件方式发送工资明细邮件通知
 * @Author guoweixin
 * @Date 2022/11/21
 * @Version 1.0
 */
@Controller
@ResponseBody
@RequestMapping("account")
@Slf4j
public class AccountController {

    /**消息队列 模版   amqpTemplate  RedisTemplate /RestTemplate/JdbcTemplate*/
    @Autowired
    private AmqpTemplate amqpTemplate;

    @GetMapping("sendWage")
    public String sendWage(@RequestParam("cardId")String cardId){


        //1、进行转帐 发放工资业务逻辑
        log.info("工资发送成功{}",cardId);

        // MQ实现：（异地且解耦） 2、发送邮件（工资明细）
        /**
         * param1 队列名称
         * param2 传输数据（底层二进制数据）
         */
        amqpTemplate.convertAndSend("emailQueue",cardId);
        return "发送薪资成功";
    }
}
